\documentclass[12pt,a4paper]{article}

\usepackage{longtable}
\usepackage{ucs}
\usepackage[utf8x]{inputenc}
\usepackage[spanish, activeacute]{babel}
\usepackage{a4wide}
\usepackage{amssymb}
\usepackage{listings}
\usepackage[pdftex]{graphicx}

\lstset{basicstyle=\small\ttfamily,
		breaklines = true,
		tabsize=2,
		frame=lines,
		numberstyle=\tiny,
		columns=flexible,
		extendedchars=\true,
		inputencoding=utf8x}

\begin{document}


\tableofcontents

\newpage
\section{Introducción}

El objetivo de este trabajo práctico es construir un formateador de código Jay. El programa a construir recibe
un archivo fuente de Jay y escribe como salida un archivo HTML indentado y con atributos visuales. 


De las varias opciones para construir el parser con que contábamos (entre las cuáles se encontraba escribirlo manualmente)
optamos por \textbf{bison}, que genera el código del parser LALR del lenguaje, en función de una gramática. A su vez, el parser generado por \textbf{bison} interactúa con una rutina de léxico generada por \textbf{flex}.

\newpage
\section{Consideraciones previas}
\input{consideraciones.tex}

\newpage
\section{Código fuente}
\input{code.tex}

\newpage
\section{Casos de prueba}
\input{pruebas.tex}

\newpage
\section{Cómo compilar y ejecutar el programa}
\input{compilar.tex}

\newpage
\section{Conclusiones}
Destacamos sobre todo lo poderosas que son las herramientas que se utilizaron, una vez superada la barrera inicial
que imponen. Sin contar el esfuerzo que requirió aprender a manejarse con las mismas, resultó muy sencilla la
implementación del parser para este lenguaje particular, y nos quedamos con la idea de que no sería difícil implementar
soluciones de este tipo para otros problemas similares.

No hubo oportunidad de comparar las herramientas con otras alternativas que utilicen distintas técnicas (por ejemplo,
\textit{LL(k)}). Si bien seguramente haya diferencias en cuanto a complejidad del código generado y performance, este
tipo de análisis estaba fuera del alcance del trabajo, y no son cuestiones de mayor trascendencia para problemas de
este tamaño.

Por otra parte cabe destacar que resultó muy gratificante ver aplicados los conocimientos aprendidos en la materia.

\newpage
\begin{thebibliography}{9}

\bibitem{i1}
Alle I. Holub .Compiler design in C.

\bibitem{i2}
Alfred v. Aho, Ravi Sethi, Jeffrey D. Ullman. Compilers: Principle, Techniques and tools.

\bibitem{i3}
Manual de referencia de bison.

\bibitem{i4}
Manual de referencia de flex.

  
\end{thebibliography}


\end{document}

